package pe.edu.upc.dew.Grupo1.service;

import java.sql.Date;
import java.util.List;


import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import pe.edu.upc.dew.Grupo1.dao.PeliculaDao;
import pe.edu.upc.dew.Grupo1.model.Pelicula;

public class PeliculaServiceImpl implements PeliculaService {
	private PeliculaDao peliculaDao;

	public void setPeliculaDao(PeliculaDao peliculaDao) {
		this.peliculaDao = peliculaDao;
	}
	
	public PeliculaServiceImpl() {
	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.PeliculaService#GetConteoTarifas()
	 */
	@Override
	public int GetConteoPeliculas() {
		return peliculaDao.getConteoPeliculas();

	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.PeliculaService#InsertPelicula(pe.edu.upc.dew.Grupo1.model.Pelicula)
	 */
	@Override
	public void InsertPelicula(Pelicula pelicula) {
		peliculaDao.insert(pelicula);

	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.PeliculaService#GetPeliculaPorCodigo(int)
	 */
	@Override
	public Pelicula GetPeliculaPorCodigo(int codigo) {
		return peliculaDao.getPeliculaPorCodigo(codigo);

	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.PeliculaService#UpdatePeliculaPorCodigo(pe.edu.upc.dew.Grupo1.model.Pelicula)
	 */
	@Override
	public void UpdatePeliculaPorCodigo(Pelicula pelicula) {
		peliculaDao.updatePorCodigo(pelicula);
	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.PeliculaService#DeletePeliculaPorCodigo(int)
	 */
	@Override
	public void DeletePeliculaPorCodigo(int codigo) {

		peliculaDao.deletePeliculaPorCodigo(codigo);

	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.PeliculaService#GetPeliculasPorRazonSocial(pe.edu.upc.dew.Grupo1.model.Pelicula)
	 */
	@Override
	public List<Pelicula> GetPeliculasPorRazonSocial(Pelicula pelicula) {
		return peliculaDao.getPeliculasPorNombre(pelicula.getNombre());
	}
	
	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.PeliculaService#GetPeliculasParaVenta(java.sql.Date)
	 */
	@Override
	public List<Pelicula> GetPeliculasParaVenta(int hora) {
		return peliculaDao.getPeliculasParaVenta(hora);
	}
	
	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.PeliculaService#GetPeliculasParaCartelera()
	 */
	@Override
	public List<Pelicula> GetPeliculasParaCartelera() {
		return peliculaDao.getPeliculasParaCartelera();
	}

	@Override
	public List<Pelicula> getPeliculasParaCarteleraLocal(int codigoLocal) {
		return peliculaDao.getPeliculasParaCarteleraLocal(codigoLocal);
	}
}